package jdbc;

import java.sql.*;

/**
 * @author 彬彬
 * 数据库连接配置
 */
public class JDBCUtils {
    /**
     * 加载驱动，建立数据库连接
     * @return conn 返回一个连接的数据库对象
     */
    public static Connection ConnectMysql() throws SQLException, ClassNotFoundException {
            // 1. 注册数据库的驱动
            Class.forName("com.mysql.jdbc.Driver");
            // 2. 通过DriverManager 获取数据库连接
//            jdbc:mysql://localhost:3306/数据库名?useSSL=false;
            String url = "jdbc:mysql://localhost:3306/Personal_Blog?useSSL=false";
            String username = "root";
            String password = "123456";
            Connection conn = DriverManager.getConnection(url, username, password);
            return conn;
    }

    /**
     * 关闭数据库连接， 释放资源
     * @param stmt Statement 对象用于已经建立数据库连接的基础上， 向数据库发送执行 SQL请求
     * @param conn 数据库连接对象
     */
    public static void release(Statement stmt, Connection conn) {
        if(stmt != null){
            try{
                stmt.close();
            }catch(SQLException e){
                e.printStackTrace();
            }
            stmt = null;
        }
        if(conn != null){
            try{
                conn.close();
            }catch (SQLException e){
                e.printStackTrace();
            }
            conn = null;
        }
    }

    /**
     * 关闭数据库连接， 释放资源
     * @param rs 存储结果集
     * @param stmt Statement 对象用于已经建立数据库连接的基础上， 向数据库发送执行 SQL请求
     * @param conn 数据库连接对象
     */
    public static void release(ResultSet rs, Statement stmt, Connection conn){
        if(rs != null){
            try{
                rs.close();
            }catch(SQLException e){
                e.printStackTrace();
            }
            rs = null;
        }
        release(stmt, conn);
    }
}
